1. Field of the Invention
The present invention is directed to the field of video and audio scanning, storage, and playback. It is more particularly directed to digital video and audio operations to facilitate trick mode playback on a computer system.
2. Description of the Background Art
Digital video and audio information is typically transmitted between computer systems in a highly compressed and encoded frame format. Further, the video information may be translated into differentially encoded frames for storage and transmission. The compressed and encoded frames are formatted so that the digital video and audio information may be referenced and played back in an order dependent fashion that is also time sensitive. Typically the information is ordered with respect to a forward directed presentation of the frames. These encoding techniques enable trick mode operations that emulate Video Tape Recorder (VTR) functions, such as fast forward scan and fast reverse scan. However, digital encoding operations have suffered from problems of efficiency and slow responsiveness during playback primarily due to the large amount of variable sized, order dependent, and time sensitive information that is generated during the creation of the encoded frames.
Typically, trick mode files are processed on an initiating computer system or a managing computer system that is often called a “data server” computer system. These trick mode files are created by extracting video frames, re-timing the video frames, and eliminating some of the encoded video frames. The audio information associated with the extracted video frames is typically compressed and identified so that the association between the video and audio information is preserved. These trick mode frames tend to be difficult to properly produce due to their complexity. Further, these complex frames may increase the data storage requirements over the encoded digital video and audio files by as much as seventy-five percent. Also, since the trick mode files are typically located on the data server computer system they suffer from transmission latency problems with respect to the viewing computer system, often called a “client” computer system. The transmission rate associated with trick mode files may be as much as twenty times greater than the transmission rate associated with the digital video and audio information.
Alternately, the trick mode video frames and the associated compressed audio frames may be stored locally, such as on the client computer system. That is, the trick mode video frames and the associated compressed audio frames may be decoded and reencoded on the client computer system when the video and audio is played back. However, this solution requires extensive computer processing resources and a large data storage capacity on the client computer system. Also this solution suffers from transmission latency since the large files are downloaded on the client computer system.
Yet another solution to the problem of processing complex trick mode frames is to tightly couple the client computer system and the data server computer system. That is, the playback requests from the client computer system may be associated with indexing commands that are managed on the data server computer system. The playback operations on the client computer system rely on proper location of the requested video and audio frames that are stored on the data server computer system. This solution also suffers from transmission latency problems between the data server computer system and the client computer system. Further this solution suffers from problems when scaling to accommodate increased numbers of users due to the extensive requirements for both computer resources and network utilization that are associated with maintaining the tight coupling between the data server computer system and the client computer system.
Differential encoding typically tracks differences between key frames that may be referred to as “anchor” frames. However, random access of frames that may be used for trick mode operations is difficult since multiple anchor frames may be required to provide sufficient information to reference a randomly selected location, and since headers that contain information associated with the encoded frames may vary in size. More particularly, referential information associated with locating a particular frame may be stored in more than one associated frame. Also, the decoding rules that are associated with each frame and that enable accurate decoding of encoded digital video frames vary in size, and the headers that store the information associated with the rules also vary in size. Performing trick mode operations adds further complexity to the process of playing video frames that have been differentially encoded. Therefore differential encoding operations have suffered from efficiency problems and slow responsiveness during playback due to the number of associated frames and the variable sized differentially encoded frames.
Transmission errors that are associated with the anchor frame may affect many digital video frames. Therefore, encoding operations that have suffered from problems associated with management of transmission errors that are related to transmitting a large amount of digital information, are addition-ally hampered when the information is differentially encoded.
Fast reverse video playback operations are especially difficult. The difficulty is primarily associated with playing information in the reverse direction that was created in a forward order fashion that is also time sensitive. Reverse playback is also difficult due to the variable size of the encoded frames. More particularly, it is difficult to locate a particular frame for the purpose of scanning in a fast reverse direction while maintaining a constant delivery rate of the information. Those skilled in the art will appreciate that video and audio delivery technologies often rely on a constant delivery rate of the information.
From the foregoing it will be apparent that there is still a need to improve transmission of information used to facilitate fast and responsive playback of video and audio digital data.